#include <iostream>
#include <signal.h>
#include <stdlib.h>
#include <unistd.h>

using namespace std;

int main()
{
    sigset_t newsg;
    sigemptyset(&newsg);
    sigaddset(&newsg,2);
    // sigaddset(&newsg,40);

    sigset_t oldsg;
    sigemptyset(&oldsg);

    sigprocmask(SIG_SETMASK,&newsg,&oldsg);

    while(true)
    {
        cout<<"hello linux,pid"<<getpid()<<endl;
        sleep(1);
    }

    return 0;
}

// void sigcb(int signo)
// {
//     cout<<"I'm signal :"<<signo<<endl;
//     exit(0);
// }

// int main()
// {
//     struct sigaction newsg;
//     newsg.sa_handler=sigcb;

//     struct sigaction oldsg;

//     sigaction(SIGINT,&newsg,&oldsg);

//     while(true)
//     {
//         cout<<"hello linux"<<endl;
//     }

//     return 0;
// }


// int main()
// {
//     signal(SIGINT,sigcb);
//     while(true)
//     {
//         cout<<"hello linux"<<endl;
//     }

//     return 0;
// }